home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / GraphicsCards / StormMesa / src / MGL / mmesa16.c < prev    next >
C/C++ Source or Header  |  1999-02-04  |  3KB  |  78 lines

  1. /****************************************************************************
  2. *
  3. *                        Mesa bindings for SciTech MGL
  4. *
  5. *               Copyright (C) 1996-1998 SciTech Software, Inc.
  6. *                            All rights reserved.
  7. *
  8. * Language:     ANSI C
  9. * Environment:    Any
  10. *
  11. * Description:    Optimized 16bpp rendering functions.
  12. *
  13. * This library is free software; you can redistribute it and/or
  14. * modify it under the terms of the GNU Library General Public
  15. * License as published by the Free Software Foundation; either
  16. * version 2 of the License, or (at your option) any later version.
  17. *
  18. * This library is distributed in the hope that it will be useful,
  19. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  21. * Library General Public License for more details.
  22. *
  23. * You should have received a copy of the GNU Library General Public
  24. * License along with this library; if not, write to the Free
  25. * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  26. *
  27. ****************************************************************************/
  28.  
  29. #include "mgl/mmesap.h"
  30.  
  31. /*------------------------- Implementation --------------------------------*/
  32.  
  33. #pragma warn -par
  34. #include "mgl/mmesai.c"
  35.  
  36. /**********************************************************************/
  37. /*****            Write spans of pixels                           *****/
  38. /**********************************************************************/
  39.  
  40. IMPLEMENT_WRITE_SPAN(16,555,ushort);
  41. IMPLEMENT_WRITE_SPAN(16,565,ushort);
  42. IMPLEMENT_WRITE_SPAN_DITHER(16,DITHER555,ushort);
  43. IMPLEMENT_WRITE_SPAN_DITHER(16,DITHER565,ushort);
  44. IMPLEMENT_WRITE_SPAN_RGB(16,555,uchar);
  45. IMPLEMENT_WRITE_SPAN_RGB(16,565,uchar);
  46. IMPLEMENT_WRITE_SPAN_RGB_DITHER(16,DITHER555,uchar);
  47. IMPLEMENT_WRITE_SPAN_RGB_DITHER(16,DITHER565,uchar);
  48. IMPLEMENT_WRITE_SPAN_MONO(16,ushort);
  49. IMPLEMENT_WRITE_SPAN_MONO_DITHER(16,DITHER555,ushort);
  50. IMPLEMENT_WRITE_SPAN_MONO_DITHER(16,DITHER565,ushort);
  51.  
  52. /**********************************************************************/
  53. /*****              Write arrays of pixels                        *****/
  54. /**********************************************************************/
  55.  
  56. IMPLEMENT_WRITE_PIXELS(16,555,ushort);
  57. IMPLEMENT_WRITE_PIXELS(16,565,ushort);
  58. IMPLEMENT_WRITE_PIXELS_DITHER(16,DITHER555,ushort);
  59. IMPLEMENT_WRITE_PIXELS_DITHER(16,DITHER565,ushort);
  60. IMPLEMENT_WRITE_PIXELS_MONO(16,ushort);
  61. IMPLEMENT_WRITE_PIXELS_MONO_DITHER(16,DITHER555,ushort);
  62. IMPLEMENT_WRITE_PIXELS_MONO_DITHER(16,DITHER565,ushort);
  63.  
  64. /**********************************************************************/
  65. /*****                 Read spans of pixels                       *****/
  66. /**********************************************************************/
  67.  
  68. IMPLEMENT_READ_SPAN(16,555,ushort);
  69. IMPLEMENT_READ_SPAN(16,565,ushort);
  70.  
  71. /**********************************************************************/
  72. /*****                   Read arrays of pixels                    *****/
  73. /**********************************************************************/
  74.  
  75. IMPLEMENT_READ_PIXELS(16,555,ushort);
  76. IMPLEMENT_READ_PIXELS(16,565,ushort);
  77.  
  78.